<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body></body>
  <script>
    /* 
     有一个数组
            arr =  [12,3,5,1,3,6,3,1,5,7,3,3]
            编写代码，去除数组中重复的元素 
    */
    // 分别获取数组中的元素
    arr = [12, 3, 5, 1, 3, 6, 3, 1, 5, 7, 3, 3, 3, 5, 12, 3];
    for (var i = 0; i < arr.length; i++) {
      // 获取当前值后边的所有值
      for (var j = i + 1; j < arr.length; j++) {
        //判断两个数是否相等
        if (arr[i] === arr[j]) {
          //出现了重复元素，删除后边的元素
          arr.splice(j, 1);
          /* 
                当arr[i] 和arr[j] 相同时，它会自动的删除j位置的元素，然后j+1位置的元素，会变成j位置的元素，
                而j位置已经比较过了，不会重复比较，所以会出现漏比较的情况
                解决办法，当删除一个元素后，需要将该位置的元素再比较一遍
          */
          j--;
        }
      }
    }
    console.log(arr);
  </script>
</html>
